\section{Definition \& History}%					benutzt man außerhalb der FRAMES, gehen nur in den TOC

%############################################################################################################################
\begin{frame}{History}
\begin{itemize}
\item Behavior Driven Development was invented by Dan North in 2003
\item Arose from problems he figured out while teaching TDD
\begin{itemize}
\item Where to start in the process?
\item What to test and what not?
\item How much to test in one go?
\item What to call the tests?
\item How to understand why a test fails?
\end{itemize}
\end{itemize}
\end{frame}
%############################################################################################################################

%############################################################################################################################
\begin{frame}{What is Behavior Driven Development?}
\textbf{Short Description}
	\begin{description}
		\item \glqq Behaviour-driven development is about implementing an application by describing its behaviour from the perspective of its stakeholders\grqq\ -- Dan North
	\end{description}


\textbf{More Precise}
\begin{description}
		\item \glqq A second-generation, outside-in, pull-based, multiple-stakeholder, multiple-scale, high-automation, agile methodology. It describes a cycle of interactions with well-defined outputs, resulting in the delivery of working, tested software that matters\grqq\ -- Dan North
\end{description}
\end{frame}
%############################################################################################################################

\subsection{Practises and Process Cycle}%	benutzt man außerhalb der FRAMES, gehen nur in den TOC

%############################################################################################################################
\begin{frame}{Second-Generation built on...}
\begin{itemize}
\item User Stories

\item eXtreme Programming
  \begin{itemize}
  \item
	Test Driven Development
  \item 
	Acceptance Driven Test Planning
  \item
	Continuous Integration
  \end{itemize}

\item Domain-Driven Design
\end{itemize}
\end{frame}
%############################################################################################################################

%############################################################################################################################
\begin{frame}{Outside-In Methodology}

\begin{figure}
\centering
\includegraphics[scale=0.5]{images/outsideIn.PNG} 
\end{figure}
\end{frame}
%############################################################################################################################

%############################################################################################################################
\begin{frame}{Multiple-Stakeholder}
\begin{itemize}
\item Multiple stakeholders (should) define an applications behavior
\item Each stakeholder represents one or more business domains
\begin{itemize}
\item Each domain has its own business-vocabulary or jargon
\end{itemize}
\end{itemize}
\end{frame}
%############################################################################################################################

%############################################################################################################################
\begin{frame}{User Stories}
\begin{itemize}
\item Must have a business value
\item Must be testable
\item Small enough for one iteration / sprint
\item Improve conversation with stakeholders!
\item Narrative describes a feature
\item Acceptance Criteria describes if desired behavior is reached
\end{itemize}
\end{frame}
%############################################################################################################################

%############################################################################################################################
\begin{frame}{The team writes the user stories}
\begin{itemize}
\item Stakeholders describe features and outcomes in a first draft
\item All work together to complete the story
\begin{itemize}
\item Team checks if features are testable
\item Use ubiquitous language to describe features and close the gaps between SHs
\end{itemize}
\end{itemize}
\end{frame}
%############################################################################################################################

%############################################################################################################################
%\begin{frame}{BDD Story Format}
%\begin{description}
%\item [Title:]\textit{(only one line describing the story)}
%\item [Narrative:]
%%\begin{description}
%\item \textbf{In order to} (benefit)
%\item \textbf{As a} (role)
%\item \textbf{I want to} (behavior)
%%\end{description}
%\item[Acceptance Criteria:]
%%\begin{description}
%\item \textbf{Scenario} \textit{Title}
%\item \textbf{Given} (context)
%\item \textbf{And} (some more context)
%\item \textbf{When} (event)
%\item \textbf{Then} (outcome)
%\item \textbf{And} (another outcome)
%%\end{description}
%\end{description}
%\end{frame}
%############################################################################################################################

%############################################################################################################################
%\begin{frame}[squeeze]{BDD Story Example}
%\begin{description}
%\item [Title:]\textit{Online Money Transaction}\\
%\item [Narrative:]
%\begin{description}
%\item \textbf{In order to} spend less time in paying my debits in person or by mail
%\item \textbf{As a} customer
%\item \textbf{I want to} send money to another person online
%\end{description}
%\item[Acceptance Criteria]
%\begin{description}
%\item \textbf{Scenario} \textit{Payer has enough funds}
%\item \textbf{Given} Bob is logged in his account 
%\item \textbf{And} has a balance of 150 \euro{}
%\item \textbf{When} he enters in the amount field 10 \euro{}
%\item \textbf{And} enters in the recipient field a valid account-id
%\item \textbf{And} clicks on the submit button in the send money form 
%\item \textbf{Then} the system updates the account page with a pending transaction of 10 \euro{} to the recipient
%\item \textbf{And} withdraws the money from the account of the payer
%\item \textbf{And} adds the money to the account of the recipient
%\item \textbf{And} adds a payment notification to the account page of the recipient
%\end{description}
%\end{description}
%\end{frame}
%############################################################################################################################

%############################################################################################################################
%
%
%\begin{frame}{Pull Based is better than Push Based}
%
%  \begin{itemize}
%  \item
%	Push Based is the common approach: \glqq We need you to get this done by last week!\grqq
%  \item 
%	Pull Based means is more efficient:
%	\begin{itemize}
%	\item Prioritize stories by business value
%	\item This helps to clarify the relative importance
%	\item More teams can help to finish stories
%	\item Requires \textit{Outside In} communication
%	\end{itemize}
%  \end{itemize}
%\end{frame}
%############################################################################################################################

%############################################################################################################################
\begin{frame}{The Pull Cycle}
\begin{itemize}
\item Shareholders add Business Value to the backlog
\item Developers \textbf{pull} the most important for the next sprint
\item Developers demonstrate completed stories as Runnable Tested Features (RTF) to the stakeholders
\begin{itemize}
\item RTF is \textit{software that matters}
\end{itemize}
\item Business pulls RTFs as updates or applications to deliver
\end{itemize}

\end{frame}

%############################################################################################################################

%############################################################################################################################
\begin{frame}{The BDD Cycle}
\begin{figure}
\begin{center}
\includegraphics[scale=0.4]{images/bdd.PNG} 
\begin{tiny}
\caption{http://www.youtube.com/watch?v=vrry-I4NXCI}
\end{tiny}\end{center}
\end{figure}
\end{frame}
%############################################################################################################################